#pragma once
#ifndef _KLAS_COLORED_VECTOR2_HPP_
#define _KLAS_COLORED_VECTOR2_HPP_

#include "../Library.hpp"
#include "../Platform.hpp"
#include "../math/Vector2.hpp"
#include "../graphics/Color.hpp"

namespace klas
{
  namespace graphics
  {
    //! Represents a "point" in that world that has color.
    template<typename T>
    struct KLAS_API ColoredVector2
    {
      ColoredVector2()
      {}

      ColoredVector2(const math::Vector2<T>& v, const Color& color)
        : vec(v), col(color)
      {}

      ColoredVector2(T x, T y, const Color& color)
        : col(color)
      { vec.x = x, vec.y = y; }

      math::Vector2<T>  vec;
      graphics::Color   col;
    };

    typedef ColoredVector2<double> ColoredVector2d;
  }
}

#endif